Explorations of a proposed tuning system with comparisons to Pythagorean and twelve-tone equal temperament tuning

Abstract

This work describes and presents the properties of a proposed tuning method, which is compared with the well known pythagorean tuning method. These two methods are shown to be derived with a few algebraic rules. The two algorithms are compared in terms of their simplicity, correspondance to the consonance of intervals, and errors with the well-established twelve-tone equal temperament tuning method. The mathematics behind the proposed inverse fraction rule is explained.

For about a month, the original idea of the tuning system was in the back of my mind. Then, I thought of the inverse fraction rule and immediately spent a good part of a morning quickly writing the vast majority of this notebook.

Twelve-tone equal temperament tuning algorithm:

In Western music, the most common tuning system since the 18th century has been twelve-tone equal temperament, which divides the octave into 12 parts, all of which are equal on a logarithmic scale. The frequency interval between every pair of adjacent notes has the same ratio equal to the 12th root of 2: $\large \sqrt[12]{2}$ ≈ 1.05946. Intervals are then described with $\large 2^\frac{n}{12}$ where n represents the number of semitones, also called halfsteps.

Definition of Inverse of an Interval:

In the twelve-tone equal temperament, the inverse of an interval at n semitones is the interval at 12 - n semitones. For example, the inverse of a perfect fifth (7 semitones) is a perfect fourth (12 - 7 = 5 semitones).

Proposed tuning algorithm:

Begin with the fraction $\large \frac{2}{1}$

  1. Multiply the denominator by 2 and switch with the numerator to get the inverse of the interval. (Inverse fraction rule.)
  2. Add 1 to the numerator and denominator to get the next interval.

For example: We start with $\large \frac{2}{1}$, a perfect octave. Following the 1st rule: $\large \frac{2}{1}$ -> $\large \frac{2}{1 \times 2}$ -> $\large \frac{2}{2} = \frac{1}{1}$, a perfect unison (the inverse of a perfect octave). Then, following the 2nd rule: $\large \frac{2 + 1}{1 + 1} = \frac{3}{2}$, a perfect fith. Etc.

Pythagorean tuning algorithm:

Begin with the calculation $\large (\frac{2}{3})^6 (2)^4$, which is $\large \frac{1024}{729}$

  1. Subtract 1 from the first and second exponents to get the next interval.
  2. Subtact 1 from only the first exponent to get the next interval after that.
  3. Break the pattern only when the first exponent becomes 0, don't subtact 1 the first time so that the first exponent is 0 twice.

For example: We start with $\large (\frac{2}{3})^6 (2)^4 = \frac{1024}{729}$, a diminished fifth. Following the 1st rule: $\large (\frac{2}{3})^5 (2)^3 = \frac{256}{243}$, a minor second. Then, following the 2nd rule: $\large (\frac{2}{3})^4 (2)^3 = \frac{128}{81}$, a minor sixth. Etc.

Comparing the two algorithms:

The Proposed algorithm goes as follows (from consonant to dissonant):

  • Perfect Octave $\large \frac{2}{1}$

  • Perfect Unison $\large \frac{2}{2} = \frac{1}{1}$

  • Perfect Fifth $\large \frac{3}{2}$

  • Perfect Fourth $\large \frac{4}{3}$

  • Perfect Fourth $\large \frac{4}{3}$

  • Perfect Fifth $\large \frac{6}{4} = \frac{3}{2}$

  • Major Third $\large \frac{5}{4}$

  • Minor Sixth $\large \frac{8}{5}$

  • Minor Third $\large \frac{6}{5}$

  • Major Sixth $\large \frac{10}{6} = \frac{5}{3}$

  • Major Second $\large \frac{7}{6}$

  • Minor Seventh $\large \frac{12}{7}$

  • Minor Second $\large \frac{8}{7}$

  • Major Seventh $\large \frac{14}{8} = \frac{7}{4}$

The Pythagorean algorithm goes as follows (sort of from dissonant to consonant then back):

  • Diminished Fifth $\large \frac{1024}{729}$

  • Minor Second $\large \frac{256}{243}$

  • Minor Sixth $\large \frac{128}{81}$

  • Minor Third $\large \frac{32}{27}$

  • Minor Seventh $\large \frac{16}{9}$

  • Perfect Fourth $\large \frac{4}{3}$

  • Perfect Octave $\large \frac{2}{1}$

  • Perfect Unison $\large \frac{1}{1}$

  • Perfect Fifth $\large \frac{3}{2}$

  • Major Second $\large \frac{9}{8}$

  • Major Sixth $\large \frac{27}{16}$

  • Major Third $\large \frac{81}{64}$

  • Major Seventh $\large \frac{243}{128}$

  • Augmented Fourth $\large \frac{729}{512}$

Some of the proposed fractions are reducible wheras all the Pythagorean fractions are irreducible.

Advantages/Disadvantages of the proposed tuning as compared to Pythagorean tuning:

Advantages:

  1. The order of intervals in the algorithm corresponds to the consonance of the intervals.
  2. Consistent algorithm, no breaks in the pattern unlike the Pythagorean algorithm, which has one break in the pattern.
  3. Simpler and easier to remember than the Pythagorean algorithm, no big calculations.

Disadvantages:

  1. Doesn't include the so called 'Devil in music' - the tritone. Which is the $\sqrt 2$ using the Twelve-tone equal temperament - a highly irrational number. Under one definition, the $\sqrt 2$ could be considered the second most irrational number after the golden ratio. Interestingly, the pythagorean tuning includes this interval twice, one a little lower (flat) and the other a little higher (sharp).
  2. Has a larger error with the Twelve-tone tuing than the Pythagorean algorithm has with the Twelve-tone tuning. 1.91% versus 0.258%. (Graphs of this are at the bottom of the notebook - scroll all the way down).

Inverse fraction rule

The inverse fraction rule that is fundamental to my algorithm suggests the following:

Given two positive integers $a$ and $b$, and an integer $i$ from 0 through 12, inclusive.

If:

$$\large \frac{a}{b} \approx 2^\frac{i}{12}$$

Then:

$$\large \frac{2b}{a} \approx 2^\frac{12 - i}{12}$$

Proof:

Define $\epsilon$ as the initial error, and let $\gamma = \epsilon + 1$. Then:

$$\large \frac{a}{b} = \gamma k^\frac{i}{n}$$

Where in the case of the tuning algorithm, $n = 12$ and $k = 2$. Rearranging algebraiclly we get:

$$\large \frac{kb}{a} = \frac{1}{\gamma} k^{\frac{n-i}{n}}$$

As $\epsilon \rightarrow 0$, we have that $\gamma \rightarrow 1$. Therefore:

$$\large \frac{kb}{a} \rightarrow k^{\frac{n-i}{n}}$$
In [1]:
import tuning
In [2]:
tuning.plot_errors()
In [3]:
tuning.plot_abs_errors()

Visual representation of the tuning algorithm and its correspondence to the Pythagorean algorithm and twelve tone equal temperament

In [4]:
tuning.show_algorithm()

Perfect Octave

(Perfect Consonant)
12 semitones

Twelve-Tone Equal Temperament:
2 ^ (12 / 12)
As Decimal:
2.0

Proposed tuning:
2 / 1
As Decimal:
2.0

Pythagorean tuning:
2 / 1
As Decimal:
2.0

Error between Proposed tuning and Twelve-tone equal temperament:
0.000%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.000%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Perfect Unison

(Perfect Consonant)
Inverse of Perfect Octave
0 semitones

Twelve-Tone Equal Temperament:
2 ^ (0 / 12)
As Decimal:
1.0

Proposed tuning:
2 / 2 = 1 / 1
As Decimal:
1.0

Pythagorean tuning:
1 / 1
As Decimal:
1.0

Error between Proposed tuning and Twelve-tone equal temperament:
0.000%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.000%




Proposed Tuning Algorithm:
Add 1 to the numerator and denominator of the last non-inverse fraction: 1 / 0
__________________________________________________________________________________________________

Perfect Fifth

(Perfect Consonant)
7 semitones

Twelve-Tone Equal Temperament:
2 ^ (7 / 12)
As Decimal:
1.4983

Proposed tuning:
3 / 2
As Decimal:
1.5

Pythagorean tuning:
3 / 2
As Decimal:
1.5

Error between Proposed tuning and Twelve-tone equal temperament:
-0.113%
Error between Pythagorean tuning and Twelve-tone equal temperament:
-0.113%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Perfect Fourth

(Perfect Consonant)
Inverse of Perfect Fifth
5 semitones

Twelve-Tone Equal Temperament:
2 ^ (5 / 12)
As Decimal:
1.3348

Proposed tuning:
4 / 3
As Decimal:
1.3333333333333333

Pythagorean tuning:
4 / 3
As Decimal:
1.3333333333333333

Error between Proposed tuning and Twelve-tone equal temperament:
0.113%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.113%




Proposed Tuning Algorithm:
Add 1 to the numerator and denominator of the last non-inverse fraction: 3 / 2
__________________________________________________________________________________________________

Perfect Fourth

(Perfect Consonant)
5 semitones

Twelve-Tone Equal Temperament:
2 ^ (5 / 12)
As Decimal:
1.3348

Proposed tuning:
4 / 3
As Decimal:
1.3333333333333333

Pythagorean tuning:
4 / 3
As Decimal:
1.3333333333333333

Error between Proposed tuning and Twelve-tone equal temperament:
0.113%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.113%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Perfect Fifth

(Perfect Consonant)
Inverse of Perfect Fourth
7 semitones

Twelve-Tone Equal Temperament:
2 ^ (7 / 12)
As Decimal:
1.4983

Proposed tuning:
6 / 4 = 3 / 2
As Decimal:
1.5

Pythagorean tuning:
3 / 2
As Decimal:
1.5

Error between Proposed tuning and Twelve-tone equal temperament:
-0.113%
Error between Pythagorean tuning and Twelve-tone equal temperament:
-0.113%




Proposed Tuning Algorithm:
Add 1 to the numerator and denominator of the last non-inverse fraction: 2 / 1
__________________________________________________________________________________________________

Major Third

(Imperfect Consonant)
4 semitones

Twelve-Tone Equal Temperament:
2 ^ (4 / 12)
As Decimal:
1.2599

Proposed tuning:
5 / 4
As Decimal:
1.25

Pythagorean tuning:
81 / 64
As Decimal:
1.265625

Error between Proposed tuning and Twelve-tone equal temperament:
0.787%
Error between Pythagorean tuning and Twelve-tone equal temperament:
-0.453%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Minor Sixth

(Imperfect Consonant)
Inverse of Major Third
8 semitones

Twelve-Tone Equal Temperament:
2 ^ (8 / 12)
As Decimal:
1.5874

Proposed tuning:
8 / 5
As Decimal:
1.6

Pythagorean tuning:
128 / 81
As Decimal:
1.5802469135802468

Error between Proposed tuning and Twelve-tone equal temperament:
-0.794%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.451%




Proposed Tuning Algorithm:
Add 1 to the numerator and denominator of the last non-inverse fraction: 5 / 4
__________________________________________________________________________________________________

Minor Third

(Imperfect Consonant)
3 semitones

Twelve-Tone Equal Temperament:
2 ^ (3 / 12)
As Decimal:
1.1892

Proposed tuning:
6 / 5
As Decimal:
1.2

Pythagorean tuning:
32 / 27
As Decimal:
1.1851851851851851

Error between Proposed tuning and Twelve-tone equal temperament:
-0.908%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.338%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Major Sixth

(Imperfect Consonant)
Inverse of Minor Third
9 semitones

Twelve-Tone Equal Temperament:
2 ^ (9 / 12)
As Decimal:
1.6818

Proposed tuning:
10 / 6 = 5 / 3
As Decimal:
1.6666666666666667

Pythagorean tuning:
27 / 16
As Decimal:
1.6875

Error between Proposed tuning and Twelve-tone equal temperament:
0.899%
Error between Pythagorean tuning and Twelve-tone equal temperament:
-0.339%




Proposed Tuning Algorithm:
Add 1 to the numerator and denominator of the last non-inverse fraction: 3 / 2
__________________________________________________________________________________________________

Major Second

(Disonnant)
2 semitones

Twelve-Tone Equal Temperament:
2 ^ (2 / 12)
As Decimal:
1.1225

Proposed tuning:
7 / 6
As Decimal:
1.1666666666666667

Pythagorean tuning:
9 / 8
As Decimal:
1.125

Error between Proposed tuning and Twelve-tone equal temperament:
-3.938%
Error between Pythagorean tuning and Twelve-tone equal temperament:
-0.226%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Minor Seventh

(Dissonant)
Inverse of Major Second
10 semitones

Twelve-Tone Equal Temperament:
2 ^ (10 / 12)
As Decimal:
1.7818

Proposed tuning:
12 / 7
As Decimal:
1.7142857142857142

Pythagorean tuning:
16 / 9
As Decimal:
1.7777777777777777

Error between Proposed tuning and Twelve-tone equal temperament:
3.789%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.226%




Proposed Tuning Algorithm:
Add 1 to the numerator and denominator of the last non-inverse fraction: 7 / 6
__________________________________________________________________________________________________

Minor Second

(Dissonant)
1 semitones

Twelve-Tone Equal Temperament:
2 ^ (1 / 12)
As Decimal:
1.0595

Proposed tuning:
8 / 7
As Decimal:
1.1428571428571428

Pythagorean tuning:
256 / 243
As Decimal:
1.0534979423868314

Error between Proposed tuning and Twelve-tone equal temperament:
-7.871%
Error between Pythagorean tuning and Twelve-tone equal temperament:
0.563%




Proposed Tuning Algorithm:
Multiply the denominator by 2 and switch the numerator and denominator to get the inverse.
__________________________________________________________________________________________________

Major Seventh

(Dissonant)
Inverse of Minor Second
11 semitones

Twelve-Tone Equal Temperament:
2 ^ (11 / 12)
As Decimal:
1.8877

Proposed tuning:
14 / 8 = 7 / 4
As Decimal:
1.75

Pythagorean tuning:
243 / 128
As Decimal:
1.8984375

Error between Proposed tuning and Twelve-tone equal temperament:
7.297%
Error between Pythagorean tuning and Twelve-tone equal temperament:
-0.566%
__________________________________________________________________________________________________

In [ ]: